Refactoring by Transformation
نویسندگان
چکیده
In this paper we present how refactoring of object-oriented programs can be accomplished by using refinement. Our approach is based on algebraic laws of an object-oriented language for refinement similar to Java. We follow a strategy involving data and algorithmic refinement of classes.
منابع مشابه
Generic and Domain-Specific Model Refactoring using a Model Transformation Engine
Refactoring is an essential approach toward improving the internal structure of a software system while preserving its external behavior. Traditional refactoring techniques have focused on the implementation stage, with source code as the primary artifact of the refactoring process. However, a recent trend is to apply the concepts of refactoring to higher levels of abstraction. Consequently, mo...
متن کاملForschungsberichte der Fakultät IV – Elektrotechnik und Informatik Evolution of Model Transformations by Model Refactoring: Long Version
Model-to-model transformations between visual languages are often defined by typed, attributed graph transformation systems. Here, the source and target languages of the model transformation are given by type graphs (or meta models), and the relation between source and target model elements is captured by graph transformation rules. On the other hand, refactoring is a technique to improve the s...
متن کاملModel Refactoring with an Aspect-Oriented Model Transformation Engine
Refactoring is an essential approach toward improving the internal structure of a software system while preserving its external behavior. Traditional refactoring techniques have focused on the implementation stage, with source code as the primary artifact of the refactoring process. However, a recent trend is to apply the concepts of refactoring to higher levels of abstraction. Consequently, mo...
متن کاملThe "Extract Refactoring" Refactoring
There is a gap between refactoring tools and generalpurpose program transformation tools that has yet to be filled. Refactoring tools are easy to use and wellestablished, but provide only a limited number of options. On the other hand, program transformation tools are powerful but are viable only for large transformation tasks. We propose an approach in which a developer specifies transformatio...
متن کاملProgram Metamorphosis 1 Motivation 2 from Refactorings to Program Metamorphosis 2.1 How Refactorings Work
Modern agile software engineering practices encourage programmers to refactor their code frequently. Consequently, modern integrated development environments incorporate machine support for refactoring; such machine support takes the form of automatic program transformations that atomically preserve program behaviour. This approach to refactoring is useful, but limits the approach in two ways: ...
متن کاملEnhanced semi-Automated Refactoring Engine with Behavioral testing
Refactoring is a transformation that preserves the external behavior of a program and improves its internal quality. Usually, compilation errors and behavioral changes are avoided by preconditions determined for each refactoring transformation. However, to formally define these preconditions and transfer them to program checks is a rather complex task. In practice, refactoring engine developers...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 70 شماره
صفحات -
تاریخ انتشار 2002